package roborally.board;

import roborally.itemsonboard.BoardItem;

/**
 * An interface specifying which methods an SelectionOption must provide to select a particular 
 * subset of items of a board.
 * 
 * @author Molderez Tom, 2de bach Ingenieurswetenschappen, Computerwetenschappen-Elektrotechniek and Reniers Jorn, 2de bach Ingenieurswetenschappen Werktuigkunde-Computerwetenschappen
 * @version 3.0
 */
public interface SelectionOption {

	/**
	 * Controls if the given boardItem satisfies some predefined option.
	 * 
	 * @param boardItem The boardItem to control.
	 * @return False if the boardItem is null
	 * 		| if boardItem == null
	 * 		|	then result == false
	 */
	public abstract boolean satisfy(BoardItem boardItem);
}
